package duppentity;

import com.google.gson.JsonObject;
import duppentity.annotations.Dupp;
import duppentity.annotations.Param;

/**
 * Description:
 * Author: pengpeng@djcars.cn
 * Date: 2019/12/5 16:12
 */

public interface RechargeDupp {

    /**
     * 充值管理
     */
    @Dupp("mng.buRecharge.getList")
    JsonObject getRechargeList(@Param("offset") Integer offset,
                                                 @Param("count") Integer count,
                                                 @Param("orderBy") String orderBy);

    @Dupp("buRecharge.update")
    JsonObject updateRecharge(@Param("id") Long id,
                                                 @Param("orderIndex") Integer orderIndex,
                                                 @Param("modifyBy") Long modifyBy);

    @Dupp( "buRecharge.get")
    JsonObject getRecharge(@Param("id") Long id);

    @Dupp("buRecharge.create")
    JsonObject saveRecharge(@Param("amount") Integer amount,
                                             @Param("orderIndex") Integer orderIndex,
                                             @Param("createBy") Long createBy);

    /**
     * 充值展示状态 使失效/有效
     */
    @Dupp("buRecharge.updateInValid")
    JsonObject updateInValid(@Param("id") Long id,
                                              @Param("invalid") Integer invalid,
                                              @Param("modifyBy") Long modifyBy);

    /**
     * 充值的福利配置
     */
    @Dupp("mng.buRechargeCoupon.getList")
    JsonObject getRechargeCouponList(@Param("rechargeId") Long rechargeId,
                                                             @Param("offset") Integer offset,
                                                             @Param("count") Integer count);

    @Dupp("buRechargeCoupon.create")
    JsonObject saveRechargeCoupon(@Param("rechargeId") Long rechargeId,
                                                          @Param("couponId") Long couponId,
                                                          @Param("num") Integer num,
                                                          @Param("orderIndex") Integer orderIndex,
                                                          @Param("createBy") Long createBy);

    @Dupp("buRechargeCoupon.delete")
    JsonObject deleteRechargeCoupon(@Param("id") Long id,
                                                             @Param("modifyBy") Long modifyBy);
}
